package 数组;

/**
 * @author 86155
 * https://leetcode-cn.com/problems/container-with-most-water/
 */
public class _11_盛最多水的容器 {

    /**
     * 双指针
     * 利用双指针 l r 进行逐步比较  先比较两端中较小的一段， 然后再通过最小的一端乘以距离 得出面积
     * 最后通过比较面积大小  来取值
     * @param height 目标数组
     * @return int
     */
    public int maxArea(int[] height) {
        int n = height.length;
        int r = n - 1;
        int l = 0;
        int max = 0;

        while (l < r) {
            int min = 0;
            min = Math.min(height[l], height[r]);
            max = Math.max(max, min * (r - l));
            if (height[l] > height[r]) {
                r--;
            } else {
                l++;
            }
        }
        return max;
    }

}
